<?php

class Opciones_sistema extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->model('opciones_sistema_model','',true);
        $this->load->model('usuario_model');
        $this->load->model('perfil_model');
    }

    function index($resultado=FALSE) {
    	$data['page_title'] = "Opciones del Sistema";
    	$opciones = $this->opciones_sistema_model->getOpcionesSistema();
    	$data['opciones'] = $opciones;
    	
    	if($resultado){
    		$data['mensaje'] = "La operación se realizó satisfactoriamente.";
    		$data['class'] = "alert_success";
    	}
    	
    	$this->load->view('opciones_sistema_view/opciones_sistema_view', $data);
    }

    function insertar(){
    	$session_data = $this->session->userdata('logged_in');
    	$id = $session_data['id'];
    	$data['nombre'] = $_POST['txtNombre'];
    	$data['fecha'] = date('Y-m-d H:i:s');
    	$data['estado'] = $_POST['cbxEstado'];
    	$data['ruta'] = $_POST['uRuta'];
    	$data['usuario_registro'] = $id;
    	$this->opciones_sistema_model->insert($data);
    	$this->index(TRUE);
    }

    function accion() {
    	$data['page_title'] = "Opciones del Sistema";
    	$data['mensaje'] = "Usted puede editar datos";
    	$data['opciones'] = $this->opciones_sistema_model->getPorid($_GET['id']);
    	$this->load->view('opciones_sistema_view/opciones_sistema_edit_view', $data);
    }

    function editar() {    	
    	$session_data = $this->session->userdata('logged_in');
    	$id = $session_data['id'];    	
    	$data['id'] = $_POST['txtId'];
    	$data['nombre'] = $_POST['txtNombre'];
    	$data['estado'] = $_POST['cbxEstado'];
    	if(isset($_POST['uRuta'])){
    		$data['ruta'] = $_POST['uRuta'];
    	}else{
    		$data['ruta'] = $_POST['url'];
    	}
    	$data['usuario_modificacion'] = $id;
    	$data['fecha_modificacion'] = date('Y-m-d H:i:s');
    	$data['ip'] = $this->input->ip_address();
    	$this->opciones_sistema_model->update($data);
    	$this->index(TRUE);
    }
    
    function eliminar() {
    	$id = $_GET['id'];
    	$this->opciones_sistema_model->delete($id);
    	$this->index(TRUE);
    }
    
    function asignar($resultado=FALSE){
    	$data['page_title'] = "Asignar Opciones";
    	$data['mensaje'] = "Seleccione un perfil y asigne sus opciones";
    	$perfil = $this->perfil_model->getPerfil();
    	$data['perfil'] = $perfil;
    	if($resultado){
    		$data['mensaje'] = "La operación se realizó satisfactoriamente.";
    		$data['class'] = "alert_success";
    	}
    	$this->load->view('opciones_sistema_view/opciones_asignar', $data);
    }
    
    function perfilOpc(){
    	$data['id'] = $_GET['perfil'];
    	$opcPerfil= $this->opciones_sistema_model->getOpcPerfil();
    	$data['opcPerfil'] = $opcPerfil;
    	$this->load->view('opciones_sistema_view/opciones_perfil', $data);
    }
    
    function asignarOpcion(){
    	//id de la seccion del usuario
    	$session_data = $this->session->userdata('logged_in');
    	$id = $session_data['id'];
    	
    	$data['id_perfil'] = $_POST['cbxPerfil'];
    	$data['opcion'] = $_POST['opcion'];
    	$data['usuario_accion'] = $id;
    	
    	$this->opciones_sistema_model->updateOpcionInactivo($data);
    	
    	foreach($data['opcion'] as $o) {
    		$check = $this->opciones_sistema_model->checkOpcion($data, $o);
    		if(!isset($check[0]->id_opciones_sistema)){
    			$this->opciones_sistema_model->insertOpcion($data, $o);
    		}else{
    			$this->opciones_sistema_model->updateOpcion($data, $o);
    		}
    	}
    	$this->asignar(TRUE);    	
    }
        
}

?>